package com.itx.gatewayx.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.util.Date;

/**
 * AI对话消息实体类
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ai_message")
public class AIMessage {
    
    /**
     * 消息ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 会话ID
     */
    private Long conversationId;
    
    /**
     * 用户ID（可为空，表示未登录用户）
     */
    private Long userId;
    
    /**
     * 消息角色：user-用户消息，assistant-AI回复
     */
    private String role;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 会话上下文标识（用于关联同一个对话）
     */
    private String sessionKey;
    
    /**
     * AI模型ID
     */
    private String modelId;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 更新时间
     */
    private Date updateTime;
    
    /**
     * 是否删除：0-未删除，1-已删除
     */
    private Integer deleted;
} 